package com.cloudbroker.bcs.platform.dav.bizapi.service.business.plugs;

import com.cloudbroker.bcs.common.annotation.NoLogin;
import com.cloudbroker.bcs.common.annotation.RequiredPermissions;
import com.cloudbroker.bcs.common.entity.HSBCPSBackVO;
import com.cloudbroker.bcs.platform.dav.bizapi.constants.PermissionsValue;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.plugs.result.ExtendAppOrderResult;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.plugs.result.ExtendGroupListResult;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.plugs.vo.ExtendAppOrderForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.plugs.vo.ExtendGroupBlankForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.plugs.vo.ExtendGroupBuildDefaultForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.plugs.vo.ExtendGroupUpdateForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.plugs.vo.ExtendGroupListForm;
import com.cloudbroker.bcs.platform.dav.bizapi.service.business.plugs.vo.ExtendGroupSaveForm;

public interface ExtendGroupBizService {

	public ExtendGroupListResult funcExtendGroupList(ExtendGroupBlankForm param);
	
	/**
	 * 添加分组
	 * @param param
	 * @return
	 */
	@RequiredPermissions(value = {PermissionsValue.EXTEND})
	public HSBCPSBackVO funcExtendGroupSave(ExtendGroupSaveForm param);
	
	/**
	 * 修改分组
	 * @param param
	 * @return
	 */
	@RequiredPermissions(value = {PermissionsValue.EXTEND})
	public HSBCPSBackVO funcExtendGroupUpdate(ExtendGroupUpdateForm param);
	
	/**
	 * 删除分组
	 * @param param
	 * @return
	 */
	@RequiredPermissions(value = {PermissionsValue.EXTEND})
	public HSBCPSBackVO funcExtendGroupDel(ExtendGroupListForm param);
	

	/**
	 * 生成默认分组
	 * @param param
	 * @return
	 */
	@NoLogin
	public HSBCPSBackVO funcExtendGroupBuildDefault(ExtendGroupBuildDefaultForm form);
	
	/**
	 * 生成分组
	 * @param param
	 * @return
	 */
	@RequiredPermissions(value = {PermissionsValue.EXTEND})
	public ExtendAppOrderResult funcExtendAppBuildGroup(ExtendAppOrderForm param);
	
}
